<?php
require_once 'BaseController.php';
class Admin_PcategoryController extends Admin_BaseController{
	private $_categoryModel;
	private $_manufactureModel;
	private $_identity;
	private $_filterModel;
	public function init(){
		parent::init();
		$auth = Zend_Auth::getInstance();
		//$this->authorize(array('Administrator','Author'));
		$this->_identity = $auth->getIdentity();
		$this->view->identity = $this->_identity;
		$this->_categoryModel = new Model_PCategory();
		$this->_filterModel = new Model_Filter();
	}
	public function indexAction(){
		$this->view->headScript()->appendFile($this->view->baseUrl().'/public/plugins/ckfinder/ckfinder.js');
		//lấy danh sác các thể loại đang có
		$arrPCategories = $this->_categoryModel->getAllCategories();
		$arrPCategoriesLv1 = $this->_categoryModel->getAllCategoriesLv1();
		$this->view->arrPCategories = $arrPCategories;
		$this->view->arrPCategoriesLv1 = $arrPCategoriesLv1;
		//lấy danh sách bộ  lọc
		$this->view->arrFilters = $this->_filterModel->getAllFilters();
		$session = new Zend_Session_Namespace();
		$this->view->message = $session->message;
		$session->__unset('message');
		//lấy id của thể loại sản phẩm nếu có
		$id = $this->getRequest()->getParam('id');
		if(is_numeric($id)){
			$pCategory = $this->_categoryModel->getCategoryByID($id);
			if($pCategory != null){
				$this->view->pCategory = $pCategory;
			}else{
				$this->view->message = "<span class='error'>Không tồn tại thể loại sản phẩm này</span>";
			}
		}else if($id != ""){
			$this->view->message = "<span class='error'>Mã thể loại sản phẩm không tồn tại hoặc không đúng định dạng</span>";
		}
			//kiểm tra có dữ liệu post lên không
			if($this->getRequest()->isPost()){
				
				//lấy dữ liệu
				$name = $this->getRequest()->getParam('name');
				$slug = $this->getRequest()->getParam('slug');
				$level = $this->getRequest()->getParam('level');
				$parent_id = $this->getRequest()->getParam('parent_id');
				$ad_image = $this->getRequest()->getParam('ad_image');
				$showed_on_hp = $this->getRequest()->getParam('showed_on_hp');
				$page_description = $this->getRequest()->getParam('page_description');
				$page_title = $this->getRequest()->getParam('page_title');
				$tag = $this->getRequest()->getParam('tag');
				$filter_id = $this->getRequest()->getParam('filter_id');
				
				
				//nếu $id là chuỗi rỗng thì là tạo mới
				if(empty($id)){
					$id = $this->_categoryModel->createCategory($name, $slug, $parent_id, $level, $showed_on_hp, $page_title, $page_description, $tag, $ad_image, $filter_id);
					if($id){
						$session->message = "<span class='success'>Thêm thể loại sản phẩm thành công</span>";
					}else{
						$session->message = "<span class='error'>Thêm thể loại sản phẩm không thành công</span>";
					}
					
				}else{
					$result = $this->_categoryModel->updateCategory($id, $name, $slug, $parent_id, $level, $showed_on_hp, $page_title, $page_description, $tag, $ad_image, $filter_id);
					if($result){
						$session->message = "<span class='success'>Sửa thể loại sản phẩm thành công</span>";
					}else{
						$session->message = "<span class='error'>Sửa thể loại sản phẩm không thành công</span>";
					}
					
					
				}
				
				$this->_redirector->gotoRoute(array(),'admin_pcategory');
				
			}
		
	}
	public function deleteAction(){
		//kiểm tra xem là post hay get
		if($this->getRequest()->isPost()){
			$id = $this->getRequest()->getParam('ids');
		}else{
			$id = $this->getRequest()->getParam('id');
		}
		if(!empty($id)){
			$result = $this->_categoryModel->deleteCategory($id);
			$session = new Zend_Session_Namespace();
			if( $result> 0){
				$session->message = "<span class='success'>Xóa thể loại sản phẩm thành công</span>";
			}else{
				$session->message = "<span class='error'>Xóa thể loại sản phẩm không thành công</span>";
			}
		}
		try{
		$this->_redirector->gotoRoute(array(),'admin_pcategory');
		}catch (Exception $ex){
			echo $ex->getMessage();
		}
	}
}